package com.sprint.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RestController;

import java.util.function.Consumer;

@Component
public class StreamConsumerController {

    @Value("${server.port}")
    private String serverPort;


        //这里接收rabbitmq的条件是参数为Consumer 并且 方法名和supplier方法名相同
        //这里的返回值是一个匿名函数 返回类型是consumer 类型和提供者的类型一致
        //supplier发送的exchange是 myChannel-in-0 这里只需要用myChannel方法名即可
        //上述代码的方法名（即Consumer的bean实例名）需要是yml配置中的通道名，应用程序启动后会自动接收生产者发送的消息
   @Bean
    Consumer<String> myChannel() {
        return str -> {
            System.out.println("我是消费者"+serverPort+"，我收到了消息："+str);
        };
    }
}
